這篇開始之前,還是想先告知,
如果你本身就還不會程式語言,
想從這篇直接學習Python可能不是明智的選擇,
建議還是需要有些程式語言或開發基本的理解,
但如果想照著實作,
我也會盡力講解,
有不懂的可以google也可以在留言區留言,
能幫的我就幫,但我也是新手就是了ww
我們這篇準備要架設的Server伺服器才是真正的機器人本體,
而上一篇 從DC官方後台建立的設定只是簡單註冊門面(像是登記攤位一樣),
所以我們註冊了機器人的帳號,
但事實上它現在還不會動。
個人是使用VScode來開發,
它是非常輕量的程式編輯器,詳細的教學或使用方式可能要自行Google學習。
而Python在我一開始學習時就發現有「Python 2」與「Python 3」,
為了日後的開發,通常版本一定會選擇穩定版再來是最高版本,
而Python2未來也不會維護了,所以果斷選擇學習Python3。
檢查自己的Python 版本
> python --version // 應該要3.x以上版本
推薦讀物:
Python2.x與3.x區別簡單說 參考
Python版本官方
使用Vscode寫Python 請參考@smallshawn95
一開始請直接建立code想存放的資料夾位置後,「檔案總管」 -> 「開始資料夾」
※貼心提醒: 在程式中,資料夾的路徑盡量不要有中文的路徑,有時候,會造成不必要的麻煩或程式辨別問題。
建立main.py檔案
終端機在vscode呼叫方式: Ctrl+P
python -m pip install -U discord.py
# 導入 套件
import discord
# intents
intents = discord.Intents.default()
# client
client = discord.Client(intents=intents)
# event 事件處理
@client.event
async def on_ready():
print(f"「{client.user}」已登入")
if __name__ == "__main__":
client.run("你的Bot Token")
執行指令與結果
而你也會看到機器人在你的伺服器上線了!
當你完成到這裡,
你已經都架設成功了!!
接下來開始就是在你的Python Server開始加功能了www
也可以先在colab測試嗎
可以,剛剛我去試了一下,但內容需要有點變更
!pip install discord.py
!pip install nest_asyncio
# 導入 套件
import discord
import nest_asyncio
nest_asyncio.apply()
# intents
intents = discord.Intents.default()
# client
client = discord.Client(intents=intents)
# event 事件處理
@client.event
async def on_ready():
print(f"「{client.user}」已登入")
if __name__ == "__main__":
client.run("你的Bot Token")
謝謝您!果然成功了,不過我比較有疑問的是應該vscode和colab程式應該一樣,這裡有區別的原因是?
我在第一次嘗試時,
我遇到了
RuntimeError: asyncio.run() cannot be called from a running event loop
的錯誤,是我在vscode開發中沒有遇過的,
其實這個也很正常,
不同的開發環境,
有時伺服器的運行方式會導致不同結果,
而我在網路上查詢,google Calab 好像在很多時候,不同開發套件都有遇到,
而他們共同的解決方式就是使用 nest_asyncio 來異步運行它的筆記本,或是用其他方式不讓Calab不使用GUI運行。
然後,其實我今天第一次知道Calab也是讓我學了一課wwww
我也是遇到這樣的錯誤,你要把這個寫入文章嗎?